package rmip;

import java.rmi.*;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Vector;

public interface ServerInt extends Remote{
    public boolean register(String email, String pw, String nn, char g, Date d, String pp) throws RemoteException;
    public boolean login(String email, String pw) throws RemoteException;
    public void signUp(String email,ClientInt cli) throws RemoteException;// to send object from itself to server to say to server i'm online 
    public void signOut(String cli) throws RemoteException;
    public void sendMessageToServer(String msg) throws RemoteException;
    public boolean sendMail(String to, String from, String subject,String msg) throws RemoteException;
    public boolean startConv(ClientInt me,String mail) throws RemoteException; // send object of user to client to start peer to peer 
    public void sendmessagebymail(String sender,String reciver, String Message)throws RemoteException;
    public int addFriend(String myMail, String Fmail, String message) throws RemoteException;
    public String getNickName(String email)throws RemoteException;
    public int getId(String email)throws RemoteException;
    public Hashtable getFriends(String eMail) throws RemoteException;
    public void addfriendtogroupchat(String fr) throws RemoteException;
    public void sendMessageTogroup(Vector<String> group,String chatname,String msg)throws RemoteException;
    public void sendGroup(String chatname,Vector <String> g) throws RemoteException;
    public void setStatus(String email, String s) throws RemoteException;;
    public Hashtable onlineFriends(String email) throws RemoteException;
    public void SendInerActMessage (String sender,String reciver, String Message) throws RemoteException;
    public void confirmRequest(String myMail,String fMail,int choice) throws RemoteException;
    public void showRequests(String mail) throws RemoteException;
}